package cn.qidisoft.edu.hzjt.dao.zyc;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.session.RowBounds;

import cn.qidisoft.edu.hzjt.model.xb.PartyResponsibilityAttEn;
import cn.qidisoft.edu.hzjt.model.zyc.PartyActivity;
import cn.qidisoft.edu.hzjt.model.zyc.PartyActivityComment;
import cn.qidisoft.edu.hzjt.model.zyc.PartyActivityMember;

/***
 * 活动/会议数据访问接口
 */
public interface PartyActivityMapper {
	
	List<PartyActivity> queryList(Map<String, Object> paramtersMap);

    /***
     * 查询活动/会议分页数据接口
     * @param paramtersMap
     * @param rowBounds
     * @return
     */
    List<PartyActivity> queryPartyActivityPageList(Map<String, Object> paramtersMap, RowBounds rowBounds);

    /***
     * 查询活动/会议分页数据总条数
     * @param paramtersMap
     * @param paramtersMap
     * @return
     */
    int queryPartyActivityPageCount(Map<String, Object> paramtersMap);

    /***
     * 设置固定日活动
     * @param partyFixedDateActivityDay
     */
    void setPartyFixedDateActivityDay(Integer partyFixedDateActivityDay);

    /***
     * 查询固定日
     * @return
     */
    String queryPartyFixedDateActivityDay();

    /***
     * 添加活动
     */
    void addPartyActivity(PartyActivity partyActivity);

    /***
     * 修改活动
     */
    void updatePartyActivity(PartyActivity partyActivity);

    /***
     * 插入请假人员、参与人员
     * @param partyActivityMember
     */
    void addPartActivityMember(PartyActivityMember partyActivityMember);

    /***
     * 删除活动
     * @param hDID
     */
    void delete(Integer hDID);

    /***
     * 根据活动ID删除参与人和请假人
     * @param hDID
     */
    void deletePartyActvityMembersByParentId(Integer hDID);

    /***
     * 得到活动对象信息
     * @param id
     * @return
     */
    PartyActivity getPartyActivityById(Integer id);

    /***
     * 批量插入附件
     * @param records
     */
    void batchInsertsFiles(List<PartyResponsibilityAttEn> records);

    /***
     * 查询附件
     * @param entity
     * @return
     */
    List<PartyResponsibilityAttEn> queryFilesList(PartyResponsibilityAttEn entity);

    /***
     * 添加活动评论
     */
    void addPartyActivityComment(PartyActivityComment partyActivityComment);


    /***
     * 批量插入评论附件
     * @param records
     */
    void batchInsertsCommentFiles(List<PartyResponsibilityAttEn> records);


    /***
     * 得到评论分页数据
     * @param paramtersMap
     * @param rowBounds
     * @return
     */
    List<PartyActivityComment> queryPartyActivityCommentsPageList(Map<String, Object> paramtersMap, RowBounds rowBounds);

    /***
     * 得到评论分页数据总条数
     * @param paramtersMap
     * @param paramtersMap
     * @return
     */
    int queryPartyActivityCommentsPageCount(Map<String, Object> paramtersMap);

}
